I. Field of the Invention
The present invention relates to communications. More particularly, the present invention relates to a novel and improved method and apparatus for generating a pseudorandom noise (PN) sequence with the capability of being rapidly slewed from one offset to another.
II. Description of the Related Art
Pseudorandom noise (PN) sequences are commonly used in direct sequence spread spectrum communication systems such as that described in the IS-95 over the air interface standard and its derivatives such as IS-95-A and ANSI J-STD-008 (referred to hereafter collectively as the IS-95 standard) promulgated by the Telecommunication Industry Association (TIA) and used primarily within cellular telecommunications systems. The IS-95 standard incorporates code division multiple access (CDMA) signal modulation techniques to conduct multiple communications simultaneously over the same RF bandwidth. When combined with comprehensive power control, conducting multiple communications over the same bandwidth increases the total number of calls and other communications that can be conducted in a wireless communication system by, among other things, increasing the frequency reuse in comparison to other wireless telecommunication technologies. The use of CDMA techniques in a multiple access communication system is disclosed in U.S. Pat. No. 4,901,307, entitled "SPREAD SPECTRUM COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS", and U.S. Pat. No. 5,103,459, entitled "SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM", both of which are assigned to the assignee of the present invention and incorporated by reference herein.
FIG. 1 provides a highly simplified illustration of a cellular telephone system configured in accordance with the use of the IS-95 standard. During operation, a set of subscriber units 10a-d conduct wireless communication by establishing one or more RF interfaces with one or more base stations 12a-d using CDMA modulated RF signals. Each RF interface between a base station 12 and a subscriber unit 10 is comprised of a forward link signal transmitted from the base station 12, and a reverse link signal transmitted from the subscriber unit. Using these RF interfaces, a communication with another user is generally conducted by way of mobile telephone switching office (MTSO) 14 and public switch telephone network (PSTN) 16. The links between base stations 12, MTSO 14 and PSTN 16 are usually formed via wire line connections, although the use of additional RF or microwave links is also known.
Each subscriber unit 10 communicates with one or more base stations 12 by utilizing a rake receiver. A RAKE receiver is described in U.S. Pat. No. 5,109,390 entitled "DIVERSITY RECEIVER IN A CDMA CELLULAR TELEPHONE SYSTEM", assigned to the assignee of the present invention and incorporated herein by reference. A rake receiver is typically made up of one or more searchers for locating direct and multipath pilot from neighboring base stations, and two or more fingers for receiving and combining information signals from those base stations. Searchers are described in co-pending U.S. patent application Ser. No. 08/316,177, entitled "MULTIPATH SEARCH PROCESSOR FOR SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEMS", filed Sep. 30, 1994, assigned to the assignee of the present invention and incorporated herein by reference. Searchers and fingers must be capable of generating the proper PN sequences to match those generated at the base station. PN sequences are typically generated through the use of linear feedback shift registers, or LFSRs.
Inherent in the design of direct sequence spread spectrum communication systems is the requirement that a receiver must align its PN sequences to those of the base station. Each base station and subscriber unit uses the exact same PN sequences. A base station distinguishes itself from other base stations by inserting a unique offset in the generation of its PN sequences. In IS-95 systems, all base stations are offset by an integer multiple of 64 chips. A subscriber unit communicates with a base station by assigning at least one finger to that base station. An assigned finger must insert the appropriate offset into its PN sequence in order to communicate with that base station. Moving an LFSR from one offset to another is known as slewing. One method of slewing is to temporarily speed up the rate of change of states of the LFSR. This is known as an advance, since it moves the sequence forward relative to the base station sequence. Another method of slewing is to temporarily slow down the rate of change of states of the LFSR. This is known as a retard, since it moves the sequence back relative to the base station sequence.
A typical prior art LFSR configuration is shown in FIG. 2. The elements in this configuration would be among those required in a typical finger or searcher. LFSR 210 generates signal LFSR.sub.-- STATE which embodies the PN sequence needed for searching or demodulation (in circuitry not shown). IS-95 systems require two LFSRs: one for the I channel and one for the Q channel.
Each of those LFSRs differs slightly from a textbook LFSR in that the number of states is increased from 2 15 1 to 2 15 by the inclusion of what is known as a stuff state. The exact nature of the PN sequence generated by an LFSR is determined by the polynomial chosen, which is implemented by the configuration of tap positions. The slewing function is not substantially affected by the inner workings of LFSR 210. For purposes of this example, LFSR 210 simply moves from one state to the next in its pre-defined sequence whenever LFSR.sub.-- EN is asserted, and it remains in its current state whenever LFSR.sub.-- EN is not asserted.
LFSR.sub.-- EN is generated by slew control 200. When the LFSR is not slewing, LFSR.sub.-- EN will be active once per chip period, so that LFSR.sub.-- STATE will generate a new state at the chip rate. When signal SLEW.sub.-- COMMAND is received from a controlling microprocessor, DSP, or discrete hardware (not shown) which indicates that the offset needs to be changed, slew control 200 adjusts the timing of LFSR.sub.-- EN to enact the offset change.
Counter 220 is also controlled by LFSR.sub.-- EN. It is used to keep track of which state the LFSR is in by generating an index which is labeled LFSR.sub.-- COUNT. All of the components are reset by a common reset, which aligns LFSR.sub.-- COUNT and LFSR.sub.-- STATE to predetermined positions. Since LFSR.sub.-- EN controls both counter 220 and LFSR 210, and both either advance together or don't advance at all, LFSR.sub.-- COUNT can be used to determine where LFSR.sub.-- STATE is in the PN sequence.
FIG. 3 shows a conceptual timing diagram which illustrates an advance slew. Signal chip.sub.-- clk depicts the chip rate. Signals BS1 and BS2 represent the PN sequences of two different base stations. Each sequence advances through the same sequence of states, labeled S0, S1, . . . , but as described above the base stations are distinguishable based on the offset between their respective PN sequences. The offset shown in this example is only 2 chips. As stated above, IS-95 base stations are always offset by integer multiples of 64 chips. The offsets chosen have no material effect on slewing functionality. Signal LFSR represents the state of the LFSR which would exist inside a finger or searcher in a subscriber unit. It is shown intially to be aligned with BS1. While communicating with (or searching for) BS1, LFSR.sub.-- EN will assert once per chip period and LFSR will remain aligned with BS1. The following description will demonstrate how the LFSR can be slewed to align with BS2. Based on the relative positions of LFSR, BS1, and BS2, this will be accomplished by an advance of two chips. The first advance is labeled advance1. An additional LFSR.sub.-- EN assertion is made while LFSR is in S2. This causes LFSR to advance to S3 while BS1 is still in S2. The expected LFSR.sub.-- EN then comes along and advances LFSR to S4. Note that BS2 is in S5 and BS1 is in S3, so this LFSR (and hence its finger or searcher) is not aligned with and hence not in communication with either base station. The second advance, labeled advance2, occurs when an additional LFSR.sub.-- EN assertion occurs while LFSR is in S4. This causes LFSR to advance to S5, where it is now aligned with BS2. The following LFSR.sub.-- EN assertions occur at the chip rate, so LFSR remains aligned with BS2.
FIG. 4 shows a conceptual timing diagram which illustrates a retard slew. The signals represent the same signals and states described above for an advance. The difference here is that LFSR is going to be slewed from BS2 alignment to BS1 alignment. This will require a retard of two chips. Instead of extra LFSR.sub.-- EN assertions which speed up the rate of change of LFSR (used for an advance), some of the LFSR.sub.-- EN assertions will be omitted. The omissions (dashed assertions are shown where the assertion would have been) are labeled retard1 and retard2, and cause LFSR to remain in S3 while BS2 continues on through S4 to S5. Meanwhile BS1 proceeds from S1 to S3. When LFSR.sub.-- EN begins asserting again at the regular chip rate, LFSR will be aligned with BS1.
The LFSRs in fingers must be slewed in several situations during normal communications. One situation occurs when finger assignment is performed: each finger must be assigned to a position where a searcher located a pilot. Short slews may be performed when a finger assigned to a multipath signal is reassigned to a stronger nearby multipath signal. More generally though, LFSRs will have to be slewed over large offsets. Fingers may be reassigned from one base station to neighboring base stations located at large offsets from the first. After a subscriber wakes up from a power-conserving sleep mode, fingers will generally need to be relocated. In most situations, it will be advantageous to minimize the time required to slew a finger since during slewing a finger is not useful for communications. The examples given above represent slewing capability of advancing or retarding one chip per chip period. Using IS-95 as an example, the maximum time required to slew is half of the PN circle, or 13.33 ms. Fingers and searchers with increased slew speed will be advantageous for a variety of reasons including those given above.